package util.libraries;

import java.io.File;


public interface ILibrary
{

    /**
     * Build the Library from a source file or directory
     * @param file
     */
    void buildLibrary (File file);

    /**
     * Add an element of some variety to the library
     * @param add
     */
    void addToLibrary (Object add);

    /**
     * Retrieve an element of the library by an integer index
     * @param index
     * @return
     */
    Object getByIndex (int index);

    /**
     * Retrieve an element of the library by some kind of ID, 
     * returns null if the library does not contain that ID
     * @param id
     * @return
     */
    Object getByID(Object id);

    int getIndexByID(Object id);
    
    
    /**
     * retrieves the entire library as an array
     * @return
     */
    Object[] getLibrary ();

}
